介绍:此项目将nginx日志导入es,并用grafana做看板分析nginx日志
一、grafana接入es数据源
Add data source select Elasticsearch 数据源 填写es数据源地址等信息
name:数据源名称。(自行填写)URL:es数据源地址Index name:es索引名称。Time field name:时间字段 (和es数据字段保持一致)
二、新建dashboard
create new dashboard 设置dashboard 名称等 修改名称并加入对应文件夹
三、创建面板(panel)
绘制panel前,可以自定义一些变量
创建数据源变量database,并支持多选和全选 创建domain变量:引用刚才创建的$database变量,并通过query语句 {“find”:“terms”,“field”:“http_host”} ,查询出所有的域名 以此类推,创建需要创建的变量 (1)状态码 $status (2)nginx主机 $proxy (3)获取数据的时间间隔 $inter 变量创建效果如下:
2. 绘制面板
(1)绘制域名流量面板 Query:Lucence查询语法,过滤出所选域名 Alias:设置为别名 (2)绘制域名接口流量看板 (3)绘制域名接口延时 (4)过滤出4xx日志,以nginx维度展示。同理接口维度和upstream维度以此类推 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423181215314.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMDM2ODI0,size_16,color_FFFFFF,t_70)
绘制过程中的一些坑点 (1)域名中带特殊符号,设置别名展示时会转义 例:test-aa.bb.com 别名设置(Alias): ${domain} 展示效果为test\-aa.bb.com 解决方法:${domain:raw} (2)Min Doc Count = 0 会将强制读取所有结果,发现分组过滤的数据有问题时,可以尝试不设置此参数
|